The present invention relates to a color converting apparatus having a multi-dimensional conversion table of output colors for a second color space corresponding and input colors for a first color space stored at lattice points in a multi-dimensional transformation coordinate space with a prespecified lattice interval, and which computes by interpolation the output colors corresponding to input colors at points other than the lattice points in the transformation coordinate space, a color converting method, and a recording medium. More specifically, this invention relates to a color converting apparatus capable of efficiently executing the color conversion requiring smaller memory capacity, a color converting method, and a recording medium for the same.
In colored image equipment such as a printer or a display unit based on the conventional technology, color expression has been made by using an RBG color expression system or a CMY color expression system. However, each of these systems uses primary colors. A primary color is the one which is expressed by a color signal value dependent on each discrete equipment. Therefore, it is difficult to match the colors reproduced with one type of color image equipment to those reproduced by an another type of color image equipment. To solve this problem, recently there is often used the color converting technology in which a brightness/color difference separating system such as the L*a*b color expression system or the like is used. In this color expression system, the image color is expressed with the help of an absolute color that does not depend on the colors of the color image equipment. The color signal expressed with the L*a*b color expression system is then converted to a color system based on the CMY color expression system or others when image data is outputted to a printer.
As a representative color converting technology, there has been known the color converting technology which uses a multi-dimensional conversion table. However, but a vast memory capacity is required in order to store all of correlation between one color expression system and another color expression system. Therefore, the cube interpolation technique (Cube algorithm), in which color conversion is made by a combination of the multi-dimensional conversion table and an operation for interpolation, is widely employed. In this cube interpolation technique, a multi-dimensional conversion table is formed with a collection of lattice points each having a prespecified width, a cube on the multi-dimensional conversion table in which an input color is present is identified, and an output color is computed by means of interpolation from colors of 8 nodes within a lattice space forming the identified cube.
FIG. 15A shows a transformation coordinate space used when a color based on the L*a*b color expression system is converted to a color based on the CMY color expression system. It is assumed herein for convenience in description that, L*, a*, and b* have values that are in a range from 0 to 255. As shown in this figure, this transformation coordinate space is a three-dimensional space in which a plurality of lattice points are provided on each of the L* axis, a* axis, and b* axis, and CMY values indicating an output color is correlated to each lattice point.
More specifically, C[L][a][b], M[L][a][b], and Y[L][a][b] each forming a color in the CMY color expression system are stored at each lattice point. L, a, b indicate lattice numbers. For instance, when w is equal to 32, L*a*b* value (0, 0, 0) corresponds to a case of L=0, a=0, and b=0, L*a*b* value (32, 0, 0) corresponds to a case of L=1, a=0, and b=0, and L*a*b* value (32, 128, 128) corresponds to a case of L=1, a=4, and b=4. Accordingly, in the cube interpolation technique, at first when Lconv, aconv, and bconv are fixed, eight lattice points A1 to A8 surrounding a position (Lconv, aconv, bconv) are selected.
FIG. 15B is an example of a relation between the obtained eight lattice points and the position. As shown in this figure, the position (Lconv, aconv, bconv,) of the input color is within a lattice space formed with the eight lattice points A1 to A8. Accordingly, each coordinate of the input color is divided by the lattice interval to obtain a position (Lw, aw, bw) of the input color within the lattice space. When the position of an input color within a lattice space is obtained as described above, the lattice space is divided into eight rectangular parallelepipeds according to this position as a reference as shown in FIG. 15C, and volumes V1 to V8 of the divided rectangular parallelepipeds (described as conversion parameters V1 to V8 hereinafter) are computed.
More specifically, the conversion parameters V1 to V8 are computed through the following equations:
V8=(wxe2x88x92Lw)xc3x97(wxe2x88x92aw)xc3x97(wxe2x88x92bw)
V7=Lwxc3x97(wxe2x88x92aw)xc3x97(wxe2x88x92bw)
V6=(wxe2x88x92Lw)xc3x97awxc3x97(wxe2x88x92bw)
V5=Lwxc3x97awxc3x97(wxe2x88x92bw)
V4=(wxe2x88x92Lw)xc3x97(wxe2x88x92aw)xc3x97bw
V3=Lwxc3x97(wxe2x88x92aw)xc3x97bw
V2=(wxe2x88x92Lw)xc3x97awxc3x97bw
V1=Lwxc3x97awxc3x97bw
Then an average are computed by weighting CMY values for each of the lattice points A1 to A8 according to the conversion parameters V1 to V2, and the computed average are used as CMY values for the position (Lconv, aconv, bconv,) as an object for conversion.
As described above, in the conventional type of cube interpolation technique, at first lattice points A1 to A8 to be used for interpolation are selected, then the position (Lw, aw, bw) within a cube formed by the selected lattice points A1 to A8 are computed. Then, volume of each of the eight rectangular parallelepipeds obtained by dividing the lattice space at the computed position, namely conversion parameters V1 to V8 are computed. Finally, the interpolation is performed by using the conversion parameters V1 to V8. However, when the conversion parameters V1 to V8 are computed every time, delay in processing is generated. Therefore, generally, the conversion parameters V1 to V8 are computed beforehand for each position in the lattice space, and a required conversion parameter is retrieved when interpolation is to be performed.
With the cube interpolation technique based on the conventional technology as described above, however, it is necessary to previously compute and maintain conversion parameters V1 to V8 for all points present in a lattice space, so that there is a disadvantage that an extremely large volume of data must be maintained and a memory space is required. Especially, when a lattice interval w which corresponds to a size of one edge of the lattice space is made larger, a number of positions inside the lattice space increases, which in turn results in an increase in the amount of data of conversion parameters V1 to V8 to be stored therein.
Originally, the cube interpolation technique as described above solves the problem of higher memory capacity which occurs when color conversion is always executed with a multi-dimensional conversion table by increasing the amount of calculations. Therefore, if a large memory capacity is required for storing conversion parameters used in the cube interpolation technique, employment of the cube interpolation technique itself becomes meaningless. In the circumstances as described above, now it is strongly demanded that the memory capacity for storing conversion parameters is reduced as much as possible when color conversion is executed by using the cube interpolation technology.
The present invention was made in order to solve the problems as described above. It is an object of the present invention to provide a color converting apparatus and a color converting method, in which color conversion can efficiently be executed without requiring a large memory space when a color expressed with a color expression system is converted to a color expressed with another color expression system using the cube interpolation technique.
In order to achieve the object as described above, in the color converting apparatus according to the invention, a conversion parameter computing unit computes the conversion parameters obtained by dividing a lattice space at each position present in a partial space forming a portion of the lattice space and stores the conversion parameters in a storing unit. Then a color converting unit retrieves the conversion parameters corresponding to a position in a lattice space for the input color from the storing unit, and computes an output color for a second color space according to the retrieved conversion parameter. Therefore, color conversion can efficiently be executed even with a less memory capacity.
In the color converting method according to the invention, a conversion parameter obtained by dividing a lattice space at each position present in a partial space formed a portion of the lattice space as a reference is stored. Then the conversion parameters corresponding to a position in the lattice space for the input color are retrieved, and an output color for a second color space is computed according to the retrieved conversion parameter. Therefore, color conversion can efficiently be executed even with a less memory capacity.
In a recording medium according to the invention, a conversion parameter obtained by dividing a lattice space at each position present in a partial space formed a portion of the lattice space as a reference is stored. Then the conversion parameters corresponding to a position in the lattice space for the input color are retrieved, and an output color for a second color space is computed according to the retrieved conversion parameter. Therefore, color conversion can efficiently be executed on a computer having a less memory capacity.